package com.tarena.lbs.coupon.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.coupon.api.pojo.param.UserCouponsParam;
import com.tarena.lbs.coupon.pojo.param.CouponParam;
import com.tarena.lbs.coupon.pojo.query.UserCouponCodeQuery;
import com.tarena.lbs.coupon.pojo.vo.CouponVO;
import com.tarena.lbs.coupon.pojo.vo.UserCouponsVO;

import java.util.List;
import java.util.Map;

public interface CouponService {



    void save(CouponParam couponParam) throws BusinessException;

    PageResult<CouponVO> pageList(CouponParam couponParam);


    void UserCouponsSave(UserCouponsParam userCouponsParam) throws BusinessException;

    PageResult<UserCouponsVO> pageUserCouponsList();

    UserCouponsVO receiveDetail(UserCouponCodeQuery param) throws BusinessException;

    void updateCouponStatus(CouponParam couponParam) throws BusinessException;

    void updateCoupon(CouponParam couponParam) throws BusinessException;

    void deleteCoupon(CouponParam couponParam) throws BusinessException;

    CouponVO detail(int CouponParam);

    List<Map<String, Object>> selectAllCoupons();
}
